home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #2 / Amiga Plus CD - 2004 - No. 02.iso / AmiSoft / Disk / moni / FileX-src.lha / FileX-src / filexARexx.h < prev    next >
C/C++ Source or Header  |  1994-04-24  |  14KB  |  717 lines

  1. /*
  2.  * Source generated with ARexxBox 1.11 (May  5 1993)
  3.  * which is Copyright (c) 1992,1993 Michael Balzer
  4.  */
  5.  
  6. #ifndef _filexARexx_H
  7. #define _filexARexx_H
  8.  
  9. #define RXIF_INIT   1
  10. #define RXIF_ACTION 2
  11. #define RXIF_FREE   3
  12.  
  13. #define ARB_CF_ENABLED        (1L << 0)
  14. #define ARB_CF_OWNALLOC        (1L << 1)
  15. #define ARB_CF_CALLFREE        (1L << 2)
  16. #define ARB_CF_CALLINIT        (1L << 3)
  17.  
  18. #define ARB_HF_CMDSHELL        (1L << 0)
  19. #define ARB_HF_USRMSGPORT    (1L << 1)
  20.  
  21. struct RexxHost
  22. {
  23.     struct MsgPort *port;
  24.     char portname[ 80 ];
  25.     long replies;
  26.     struct RDArgs *rdargs;
  27.     long flags;
  28.     LONG userdata;
  29.     union {
  30.         struct RexxMsg *akturexxmsg;
  31.         BPTR outfh;
  32.         };
  33. };
  34.  
  35. struct rxs_command
  36. {
  37.     char *command, *args, *results;
  38.     long resindex;
  39.     void (*function)( struct RexxHost *, void **, long );
  40.     long flags;
  41.     long structsize;
  42. };
  43.  
  44. #ifndef NO_GLOBALS
  45. extern char RexxPortBaseName[80];
  46. extern struct rxs_command rxs_commandlist[];
  47. extern int command_cnt;
  48. extern char *rexx_extension;
  49. #endif
  50.  
  51. void ReplyRexxCommand( struct RexxMsg *rxmsg, long prim, long sec, char *res );
  52. void FreeRexxCommand( struct RexxMsg *rxmsg );
  53. struct RexxMsg *CreateRexxCommand( struct RexxHost *host, char *buff, BPTR fh );
  54. struct RexxMsg *CommandToRexx( struct RexxHost *host, struct RexxMsg *rexx_command_message );
  55. struct RexxMsg *SendRexxCommand( struct RexxHost *host, char *buff, BPTR fh );
  56.  
  57. void CloseDownARexxHost( struct RexxHost *host );
  58. struct RexxHost *SetupARexxHost( char *basename, struct MsgPort *usrport );
  59. struct rxs_command *FindRXCommand( char *com );
  60. char *ExpandRXCommand( struct RexxHost *host, char *command );
  61. char *StrDup( char *s );
  62. void ARexxDispatch( struct RexxHost *host );
  63.  
  64. void DoShellCommand( struct RexxHost *host, char *comline, BPTR fhout );
  65. void CommandShell( struct RexxHost *host, BPTR fhin, BPTR fhout, char *prompt );
  66.  
  67. /* rxd-Strukturen dürfen nur AM ENDE um lokale Variablen erweitert werden! */
  68.  
  69. struct rxd_clear
  70. {
  71.     long rc, rc2;
  72.     struct {
  73.         long force;
  74.         APTR *id;
  75.     } arg;
  76. };
  77.  
  78. struct rxd_open
  79. {
  80.     long rc, rc2;
  81.     struct {
  82.         char *filename;
  83.         long force;
  84.         APTR *id;
  85.     } arg;
  86. };
  87.  
  88. struct rxd_quit
  89. {
  90.     long rc, rc2;
  91.     struct {
  92.         long force;
  93.     } arg;
  94. };
  95.  
  96. struct rxd_saveas
  97. {
  98.     long rc, rc2;
  99.     struct {
  100.         char *name;
  101.         APTR *id;
  102.     } arg;
  103. };
  104.  
  105. struct rxd_save
  106. {
  107.     long rc, rc2;
  108.     struct {
  109.         APTR *id;
  110.     } arg;
  111. };
  112.  
  113. struct rxd_print
  114. {
  115.     long rc, rc2;
  116.     struct {
  117.         APTR *id;
  118.     } arg;
  119. };
  120.  
  121. struct rxd_nop {long rc, rc2;};
  122. struct rxd_lockgui {long rc, rc2;};
  123. struct rxd_unlockgui {long rc, rc2;};
  124.  
  125. struct rxd_requestnotify
  126. {
  127.     long rc, rc2;
  128.     struct {
  129.         char *prompt;
  130.     } arg;
  131. };
  132.  
  133. struct rxd_requestresponse
  134. {
  135.     long rc, rc2;
  136.     struct {
  137.         char *buttons;
  138.         char *prompt;
  139.     } arg;
  140. };
  141.  
  142. struct rxd_requeststring
  143. {
  144.     long rc, rc2;
  145.     struct {
  146.         char *var, *stem;
  147.         char *prompt;
  148.         char *mydefault;
  149.     } arg;
  150.     struct {
  151.         char *string;
  152.     } res;
  153. };
  154.  
  155. struct rxd_column
  156. {
  157.     long rc, rc2;
  158.     struct {
  159.         long *delta;
  160.         APTR *id;
  161.     } arg;
  162. };
  163.  
  164. struct rxd_cursor
  165. {
  166.     long rc, rc2;
  167.     struct {
  168.         long up;
  169.         long down;
  170.         long left;
  171.         long right;
  172.         APTR *id;
  173.     } arg;
  174. };
  175.  
  176. struct rxd_gotobookmark
  177. {
  178.     long rc, rc2;
  179.     struct {
  180.         long *number;
  181.         APTR *id;
  182.     } arg;
  183. };
  184.  
  185. struct rxd_gotocolumn
  186. {
  187.     long rc, rc2;
  188.     struct {
  189.         long *column;
  190.         APTR *id;
  191.     } arg;
  192. };
  193.  
  194. struct rxd_gotoline
  195. {
  196.     long rc, rc2;
  197.     struct {
  198.         long *line;
  199.         APTR *id;
  200.     } arg;
  201. };
  202.  
  203. struct rxd_line
  204. {
  205.     long rc, rc2;
  206.     struct {
  207.         long *delta;
  208.         APTR *id;
  209.     } arg;
  210. };
  211.  
  212. struct rxd_position
  213. {
  214.     long rc, rc2;
  215.     struct {
  216.         long sof;
  217.         long eof;
  218.         long sol;
  219.         long eol;
  220.         APTR *id;
  221.     } arg;
  222. };
  223.  
  224. struct rxd_setbookmark
  225. {
  226.     long rc, rc2;
  227.     struct {
  228.         long *number;
  229.         APTR *id;
  230.     } arg;
  231. };
  232.  
  233. struct rxd_find
  234. {
  235.     long rc, rc2;
  236.     struct {
  237.         long prompt;
  238.         long hex;
  239.         long backwards;
  240.         long quiet;
  241.         char *text;
  242.         APTR *id;
  243.     } arg;
  244. };
  245.  
  246. struct rxd_findchange
  247. {
  248.     long rc, rc2;
  249.     struct {
  250.         long prompt;
  251.         long hex;
  252.         long all;
  253.         long backwards;
  254.         long quiet;
  255.         char *find;
  256.         char *change;
  257.         APTR *id;
  258.     } arg;
  259. };
  260.  
  261. struct rxd_findnext
  262. {
  263.     long rc, rc2;
  264.     struct {
  265.         long backwards;
  266.         long quiet;
  267.         APTR *id;
  268.     } arg;
  269. };
  270.  
  271. struct rxd_activate {long rc, rc2;};
  272.  
  273. struct rxd_deactivate {long rc, rc2;};
  274.  
  275. struct rxd_getattr
  276. {
  277.     long rc, rc2;
  278.     struct {
  279.         char *object;
  280.         char *field;
  281.         APTR *id;
  282.         char *stem, *var;
  283.     } arg;
  284. };
  285.  
  286. struct rxd_setattr
  287. {
  288.     long rc, rc2;
  289.     struct {
  290.         char *object;
  291.         char *field;
  292.         APTR *id;
  293.         char *fromstem;
  294.         char *fromvar;
  295.     } arg;
  296. };
  297.  
  298. struct rxd_fault
  299. {
  300.     long rc, rc2;
  301.     struct {
  302.         char *var, *stem;
  303.         long *number;
  304.     } arg;
  305.     struct {
  306.         char *description;
  307.     } res;
  308. };
  309.  
  310. struct rxd_help
  311. {
  312.     long rc, rc2;
  313.     struct {
  314.         char *var, *stem;
  315.         char *command;
  316.     } arg;
  317.     struct {
  318.         char *commanddesc;
  319.         char **commandlist;
  320.     } res;
  321. };
  322.  
  323. struct rxd_rx
  324. {
  325.     long rc, rc2;
  326.     struct {
  327.         char *var, *stem;
  328.         long console;
  329.         long async;
  330.         char *command;
  331.     } arg;
  332.     struct {
  333.         long *rc;
  334.         char *result;
  335.     } res;
  336. };
  337.  
  338. struct rxd_font
  339. {
  340.     long rc, rc2;
  341.     struct {
  342.         char *name;
  343.         long *size;
  344.         APTR *id;
  345.     } arg;
  346. };
  347.  
  348. struct rxd_redo
  349. {
  350.     long rc, rc2;
  351.     struct {
  352.         long *number;
  353.         APTR *id;
  354.     } arg;
  355. };
  356.  
  357. struct rxd_undo
  358. {
  359.     long rc, rc2;
  360.     struct {
  361.         long *number;
  362.         APTR *id;
  363.     } arg;
  364. };
  365.  
  366. struct rxd_activateview
  367. {
  368.     long rc, rc2;
  369.     struct {
  370.         APTR *id;
  371.     } arg;
  372. };
  373. struct rxd_activatewindow
  374. {
  375.     long rc, rc2;
  376.     struct {
  377.         APTR *id;
  378.     } arg;
  379. };
  380.  
  381. struct rxd_adjustwindowsize
  382. {
  383.     long rc, rc2;
  384.     struct {
  385.         APTR *id;
  386.     } arg;
  387. };
  388.  
  389. struct rxd_changewindow
  390. {
  391.     long rc, rc2;
  392.     struct {
  393.         long *leftedge;
  394.         long *topedge;
  395.         long *height;
  396.         long *width;
  397.         APTR *id;
  398.     } arg;
  399. };
  400.  
  401. struct rxd_movewindow
  402. {
  403.     long rc, rc2;
  404.     struct {
  405.         long *leftedge;
  406.         long *topedge;
  407.         APTR *id;
  408.     } arg;
  409. };
  410.  
  411. struct rxd_sizewindow
  412. {
  413.     long rc, rc2;
  414.     struct {
  415.         long *height;
  416.         long *width;
  417.         APTR *id;
  418.     } arg;
  419. };
  420.  
  421. struct rxd_windowtoback
  422. {
  423.     long rc, rc2;
  424.     struct {
  425.         APTR *id;
  426.     } arg;
  427. };
  428.  
  429. struct rxd_windowtofront
  430. {
  431.     long rc, rc2;
  432.     struct {
  433.         APTR *id;
  434.     } arg;
  435. };
  436.  
  437. struct rxd_zipwindow
  438. {
  439.     long rc, rc2;
  440.     struct {
  441.         APTR *id;
  442.     } arg;
  443. };
  444.  
  445. struct rxd_requestfile
  446. {
  447.     long rc, rc2;
  448.     struct {
  449.         char *var, *stem;
  450.         char *title;
  451.         char *path;
  452.         char *file;
  453.         char *pattern;
  454.     } arg;
  455.     struct {
  456.         char *filename;
  457.     } res;
  458. };
  459.  
  460. struct rxd_printblock {long rc, rc2;};
  461. struct rxd_setblockmark    {        long rc, rc2;        struct {            APTR *id;        } arg;    };
  462. struct rxd_cut    {        long rc, rc2;        struct {            APTR *id;        } arg;    };
  463. struct rxd_copy    {        long rc, rc2;        struct {            APTR *id;        } arg;    };
  464. struct rxd_fill    {        long rc, rc2;        struct {            APTR *id;        } arg;    };
  465. struct rxd_paste    {        long rc, rc2;        struct {            APTR *id;        } arg;    };
  466. struct rxd_insert    {        long rc, rc2;        struct {            APTR *id;        } arg;    };
  467. struct rxd_append    {        long rc, rc2;        struct {            APTR *id;        } arg;    };
  468. struct rxd_expandview    {        long rc, rc2;        struct {            APTR *id;        } arg;    };
  469. struct rxd_growview    {        long rc, rc2;        struct {            APTR *id;        } arg;    };
  470. struct rxd_shrinkview    {        long rc, rc2;        struct {            APTR *id;        } arg;    };
  471.  
  472.  
  473. struct rxd_savesettings {long rc, rc2;};
  474. struct rxd_savecommands {long rc, rc2;};
  475.  
  476. struct rxd_grabmemory
  477. {
  478.     long rc, rc2;
  479.     struct {
  480.         long *start,*end;
  481.         long force;
  482.         APTR *id;
  483.     } arg;
  484. };
  485.  
  486. struct rxd_assigncommand
  487. {
  488.     long rc, rc2;
  489.     struct {
  490.         long *number;
  491.         char *name;
  492.     } arg;
  493. };
  494.  
  495. struct rxd_executecommand
  496. {
  497.     long rc, rc2;
  498.     struct {
  499.         long *number;
  500.         char *name;
  501.     } arg;
  502. };
  503.  
  504. struct rxd_loadblock
  505. {
  506.     long rc, rc2;
  507.     struct {
  508.         char *name;
  509.     } arg;
  510. };
  511.  
  512. struct rxd_saveblock
  513. {
  514.     long rc, rc2;
  515.     struct {
  516.         char *name;
  517.     } arg;
  518. };
  519.  
  520. struct rxd_loadsettings
  521. {
  522.     long rc, rc2;
  523.     struct {
  524.         char *name;
  525.     } arg;
  526. };
  527.  
  528. struct rxd_savesettingsas
  529. {
  530.     long rc, rc2;
  531.     struct {
  532.         char *name;
  533.     } arg;
  534. };
  535.  
  536. struct rxd_loaddisplaytyp
  537. {
  538.     long rc, rc2;
  539.     struct {
  540.         char *name;
  541.     } arg;
  542. };
  543.  
  544. struct rxd_loadcommands
  545. {
  546.     long rc, rc2;
  547.     struct {
  548.         char *name;
  549.     } arg;
  550. };
  551.  
  552. struct rxd_savecommandsas
  553. {
  554.     long rc, rc2;
  555.     struct {
  556.         char *name;
  557.     } arg;
  558. };
  559.  
  560. struct rxd_setscreen
  561. {
  562.     long rc, rc2;
  563.     struct {
  564.         char *name;
  565.         long own;
  566.     } arg;
  567. };
  568.  
  569. struct rxd_getblock
  570. {
  571.     long rc, rc2;
  572.     struct {
  573.         char *var, *stem;
  574.     } arg;
  575.     struct {
  576.         char *block;
  577.     } res;
  578. };
  579.  
  580. struct rxd_setblock
  581. {
  582.     long rc, rc2;
  583.     struct {
  584.         char *block;
  585.     } arg;
  586. };
  587.  
  588. struct rxd_gotobyte
  589. {
  590.     long rc, rc2;
  591.     struct {
  592.         long *pos;
  593.         APTR *id;
  594.     } arg;
  595. };
  596.  
  597. struct rxd_getbytes
  598. {
  599.     long rc, rc2;
  600.     struct {
  601.         char *var, *stem;
  602.         long *pos,*number;
  603.         APTR *id;
  604.     } arg;
  605.     struct {
  606.         char *hexstring;
  607.     } res;
  608. };
  609.  
  610. struct rxd_setbytes
  611. {
  612.     long rc, rc2;
  613.     struct {
  614.         long *pos;
  615.         char *hexstring;
  616.         APTR *id;
  617.     } arg;
  618. };
  619.  
  620. struct rxd_close{
  621.     long rc, rc2;
  622.     struct {
  623.         long view, window, force;
  624.         APTR *id;
  625.     } arg;
  626. };
  627.  
  628.  
  629. struct rxd_new{    long rc, rc2;    struct {        long view, window;    } arg;};
  630. struct rxd_split{    long rc, rc2;    struct {        long view, window;    } arg;};
  631. struct rxd_next{    long rc, rc2;    struct {        long view, window;    } arg;};
  632. struct rxd_previous{    long rc, rc2;    struct {        long view, window;    } arg;};
  633.  
  634. void rx_clear( struct RexxHost *, struct rxd_clear **, long );
  635. void rx_open( struct RexxHost *, struct rxd_open **, long );
  636. void rx_print( struct RexxHost *, struct rxd_print **, long );
  637. void rx_quit( struct RexxHost *, struct rxd_quit **, long );
  638. void rx_save( struct RexxHost *, struct rxd_save **, long );
  639. void rx_saveas( struct RexxHost *, struct rxd_saveas **, long );
  640. void rx_nop( struct RexxHost *, struct rxd_nop **, long );
  641. void rx_requestnotify( struct RexxHost *, struct rxd_requestnotify **, long );
  642. void rx_requestresponse( struct RexxHost *, struct rxd_requestresponse **, long );
  643. void rx_requeststring( struct RexxHost *, struct rxd_requeststring **, long );
  644. void rx_column( struct RexxHost *, struct rxd_column **, long );
  645. void rx_cursor( struct RexxHost *, struct rxd_cursor **, long );
  646. void rx_gotobookmark( struct RexxHost *, struct rxd_gotobookmark **, long );
  647. void rx_gotocolumn( struct RexxHost *, struct rxd_gotocolumn **, long );
  648. void rx_gotoline( struct RexxHost *, struct rxd_gotoline **, long );
  649. void rx_line( struct RexxHost *, struct rxd_line **, long );
  650. void rx_position( struct RexxHost *, struct rxd_position **, long );
  651. void rx_setbookmark( struct RexxHost *, struct rxd_setbookmark **, long );
  652. void rx_find( struct RexxHost *, struct rxd_find **, long );
  653. void rx_findchange( struct RexxHost *, struct rxd_findchange **, long );
  654. void rx_findnext( struct RexxHost *, struct rxd_findnext **, long );
  655. void rx_activate( struct RexxHost *, struct rxd_activate **, long );
  656. void rx_deactivate( struct RexxHost *, struct rxd_deactivate **, long );
  657. void rx_getattr( struct RexxHost *, struct rxd_getattr **, long );
  658. void rx_setattr( struct RexxHost *, struct rxd_setattr **, long );
  659. void rx_fault( struct RexxHost *, struct rxd_fault **, long );
  660. void rx_help( struct RexxHost *, struct rxd_help **, long );
  661. void rx_rx( struct RexxHost *, struct rxd_rx **, long );
  662. void rx_font( struct RexxHost *, struct rxd_font **, long );
  663. void rx_redo( struct RexxHost *, struct rxd_redo **, long );
  664. void rx_undo( struct RexxHost *, struct rxd_undo **, long );
  665. void rx_activatewindow( struct RexxHost *, struct rxd_activatewindow **, long );
  666. void rx_activateview( struct RexxHost *, struct rxd_activateview **, long );
  667. void rx_changewindow( struct RexxHost *, struct rxd_changewindow **, long );
  668. void rx_movewindow( struct RexxHost *, struct rxd_movewindow **, long );
  669. void rx_sizewindow( struct RexxHost *, struct rxd_sizewindow **, long );
  670. void rx_windowtoback( struct RexxHost *, struct rxd_windowtoback **, long );
  671. void rx_windowtofront( struct RexxHost *, struct rxd_windowtofront **, long );
  672. void rx_requestfile( struct RexxHost *, struct rxd_requestfile **, long );
  673. void rx_zipwindow( struct RexxHost *, struct rxd_zipwindow **, long );
  674.  
  675. void rx_grabmemory(struct RexxHost *,struct rxd_grabmemory **, long );
  676. void rx_printblock(struct RexxHost *,struct rxd_printblock **, long );
  677. void rx_setblockmark(struct RexxHost *,struct rxd_setblockmark **, long );
  678. void rx_cut(struct RexxHost *,struct rxd_cut **, long );
  679. void rx_copy(struct RexxHost *,struct rxd_copy **, long );
  680. void rx_fill(struct RexxHost *,struct rxd_fill **, long );
  681. void rx_paste(struct RexxHost *,struct rxd_paste **, long );
  682. void rx_insert(struct RexxHost *,struct rxd_insert **, long );
  683. void rx_append(struct RexxHost *,struct rxd_append **, long );
  684. void rx_loadblock(struct RexxHost *,struct rxd_loadblock **, long );
  685. void rx_saveblock(struct RexxHost *,struct rxd_saveblock **, long );
  686. void rx_loadsettings(struct RexxHost *,struct rxd_loadsettings **, long );
  687. void rx_savesettings(struct RexxHost *,struct rxd_savesettings **, long );
  688. void rx_savesettingsas(struct RexxHost *,struct rxd_savesettingsas **, long );
  689. void rx_loaddisplaytyp(struct RexxHost *,struct rxd_loaddisplaytyp **, long );
  690. void rx_assigncommand(struct RexxHost *,struct rxd_assigncommand **, long );
  691. void rx_executecommand(struct RexxHost *,struct rxd_executecommand **, long );
  692. void rx_loadcommands(struct RexxHost *,struct rxd_loadcommands **, long );
  693. void rx_savecommands(struct RexxHost *,struct rxd_savecommands **, long );
  694. void rx_savecommandsas (struct RexxHost *,struct rxd_savecommandsas **, long );
  695.  
  696. void rx_setscreen (struct RexxHost *,struct rxd_setscreen **, long );
  697. void rx_getblock (struct RexxHost *,struct rxd_getblock **, long );
  698. void rx_setblock (struct RexxHost *,struct rxd_setblock **, long );
  699. void rx_gotobyte (struct RexxHost *,struct rxd_gotobyte **, long );
  700. void rx_getbytes (struct RexxHost *,struct rxd_getbytes **, long );
  701. void rx_setbytes (struct RexxHost *,struct rxd_setbytes **, long );
  702.  
  703. void rx_new(struct RexxHost *,struct rxd_new **, long );
  704. void rx_close(struct RexxHost *,struct rxd_close **, long );
  705. void rx_next(struct RexxHost *,struct rxd_next **, long );
  706. void rx_previous(struct RexxHost *,struct rxd_previous **, long );
  707. void rx_split(struct RexxHost *,struct rxd_split **, long );
  708. void rx_expandview(struct RexxHost *,struct rxd_expandview **, long );
  709. void rx_growview(struct RexxHost *,struct rxd_growview **, long );
  710. void rx_shrinkview(struct RexxHost *,struct rxd_shrinkview **, long );
  711.  
  712. void rx_adjustwindowsize( struct RexxHost *, struct rxd_adjustwindowsize **, long );
  713. void rx_lockgui( struct RexxHost *, struct rxd_lockgui **, long );
  714. void rx_unlockgui( struct RexxHost *, struct rxd_unlockgui **, long );
  715.  
  716. #endif
  717.